package view;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import model.Usuario;
import controle.ControleUsuario;

public class CRUDUsuario extends HttpServlet {

	private static final long serialVersionUID = 1L;

	protected void doGet(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		if (request.getParameter("deletar") != null
				&& request.getParameter("deletar").equals("Deletar")) {

			ControleUsuario controle = new ControleUsuario();
			Usuario usuario = new Usuario();
		 
			usuario.setId(Integer.parseInt(request.getParameter("id")));

			if(controle.excluir(usuario))
				
				System.out.println("Apagado");
			    response.sendRedirect("Visao/menu/exe_tela.jsp");

		}
		
		if (request.getParameter("deletarcliente") != null
				&& request.getParameter("deletarcliente").equals("Deletarcliente")) {

			ControleUsuario controle = new ControleUsuario();
			Usuario usuario = new Usuario();
		 
			usuario.setId(Integer.parseInt(request.getParameter("id")));

			if(controle.excluir(usuario))
				
				System.out.println("Apagado");			    
                response.sendRedirect("login.jsp");

		}
		
	


		
		
		
	}

	/**
	 * @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
	 *      response)
	 */
	protected void doPost(HttpServletRequest request,
			HttpServletResponse response) throws ServletException, IOException {

		if (request.getParameter("save") != null
				&& request.getParameter("save").equals("Salvar")) {
			ControleUsuario controle = new ControleUsuario();
			Usuario usuario = mapeiaObjeto(request);
			controle.persiste(usuario);
			response.sendRedirect("Visao/menu/exe_tela.jsp");

		}
		
		if (request.getParameter("alterar") != null
				&& request.getParameter("alterar").equals("Alterar")) {

			ControleUsuario controle = new ControleUsuario();
			Usuario usuario = new Usuario();
			usuario = mapeiaObjeto(request);
			usuario.setId(Integer.parseInt(request.getParameter("id")));
			usuario.setMenu(Integer.parseInt(request.getParameter("menu")));
			if (controle.alterar(usuario))
				System.out.println("alterou");
			response.sendRedirect("Visao/menu/exe_tela.jsp");
		}

	}

	/*
	public void imprimeTabela(HttpServletRequest request,
			HttpServletResponse response) throws IOException {
		if (request.getParameter("pesquisa") != null
				&& request.getParameter("pesquisa").equals("Pesquisar")) {
			PrintWriter out = response.getWriter();
			ControleUsuario controle = new ControleUsuario();
			ArrayList<Usuario> usuarios = controle.procura(request.getParameter("chave"));

			out.println("<table>");
			for (int i = 0; i < usuarios.size(); i++) {
				Usuario usuario = usuarios.get(i);
				out.println("<tr>");

				out.println("<td>");
				out.println(usuario.getId());
				out.println("</td>");
				out.println("<td>");
				out.println(usuario.getNome());
				out.println("</td>");
				out.println("<td>");
				out.println(usuario.getEndereco());
				out.println("</td>");
				out.println("<td>");
				out.println(usuario.getCelular());
				out.println("</td>");
				out.println("<td>");
				out.println(usuario.getTelefone());
				out.println("</td>");
				out.println("<td>");
				out.println(usuario.getMenu());
				out.println("</td>");
				out.println("<td>");
				out.println("</td>");
				out.println("</td>");
				
			}
			out.println("</table>");
		}
		
	}*/

	private Usuario mapeiaObjeto(HttpServletRequest request) {
		Usuario usuario = new Usuario();
		//usuario.setId(Integer.parseInt(request.getParameter("id")));
		usuario.setCelular(Integer.parseInt(request.getParameter("celular")));
		usuario.setEndereco(request.getParameter("endereco"));
		usuario.setMenu(Integer.parseInt(request.getParameter("menu")));
		usuario.setNome(request.getParameter("nome"));
		usuario.setSenha(request.getParameter("senha"));
		usuario.setTelefone(Integer.parseInt(request.getParameter("telefone")));
		return usuario;
	}

}
